; 功能: 当按下快捷键时, 则在当前窗口搜索图片pic/pic.png所在的坐标, 
; 		并在图片范围内, 自动搜索图片pic/click.png, 并在图片的中心位置执行一次点击操作
; 说明: 这里的图片注意更新, 若待截图的区域发生缩放等操作, 可能导致像素发生变化, 导致搜索失败

SendMode Input
SetWorkingDir %A_ScriptDir%
; 设置全屏幕查找
SysGet, VirtualWidth, 78
SysGet, VirtualHeight, 79


; 功能: 查找并自动点击
; 参数:
;	img_file: 在屏幕中查找的图片
;	img_click: 在查找到的图片中检查需要点击的图片
; 	mode: 0(默认值): 纵向检查, 1: 横向检查
find_and_auto_click(img_file, img_click, mode:=0){
	; 获取控件的位置和大小
	; if FileExist(img_file) {}
	gui, add, picture, hwnd_mypic, %img_click%
	controlgetpos,,,_click_w,_click_h,,ahk_id %_mypic%
	gui, add, picture, hwnd_mypic, %img_file%
	controlgetpos,,,_img_w,_img_h,,ahk_id %_mypic%
	
	CoordMode Pixel
	; 获取鼠标当前坐标
	MouseGetPos, cur_x, cur_y
	
	; 在屏幕中查找图片
	ImageSearch, _x, _y, 0, 0, A_ScreenWidth, A_ScreenHeight, %img_file%
	if (_x > 0 || _y > 0) {
		ImageSearch, _click_x, _click_y, _x, _y, _x + _img_w, _y + _img_h, %img_click%
		
		; 在图片中遍历查找需要点击的图片, 若找到, 则在图片的中心位置点击鼠标一次
		while (_click_x > 0 || _click_y > 0) {
			click_x := _click_x + _click_w / 2
			click_y := _click_y + _click_h / 2
			click_times := 1
			Click %click_x%, %click_y%, %click_times%
			
			if(mode == 1) {
				ImageSearch, _click_x, _click_y, _click_x + _click_w, _y, _x + _img_w, _y + _img_h, %img_click%
			} else {
				ImageSearch, _click_x, _click_y, _x, _click_y + _click_h, _x + _img_w, _y + _img_h, %img_click%
			}
			
		}		
		
	}
	; 鼠标移动回原来的位置
	Click %cur_x%, %cur_y%, 0
}

; 快捷键: Ctrl + Shift + a
^+a::
	_img_file := "pic/binary_check.png"
	_img_click := "pic/click.png"
	find_and_auto_click(_img_file, _img_click)
	
	_img_file := "pic/version_select.png"
	_img_click := "pic/version_select_click.png"
	find_and_auto_click(_img_file, _img_click)
return